package com.offics.loan.domain.repository;

import com.offics.loan.domain.entity.FAQ;

import java.util.List;
import java.util.Optional;

/**
 * FAQ仓储接口
 */
public interface FAQRepository {

    /**
     * 根据ID查询FAQ
     *
     * @param id FAQ ID
     * @return FAQ
     */
    Optional<FAQ> findById(Long id);

    /**
     * 查询所有启用的FAQ列表
     *
     * @return FAQ列表
     */
    List<FAQ> findAllEnabled();

    /**
     * 根据分类查询启用的FAQ列表
     *
     * @param category 分类
     * @return FAQ列表
     */
    List<FAQ> findEnabledByCategory(Integer category);

    /**
     * 保存FAQ
     *
     * @param faq FAQ
     * @return 是否成功
     */
    boolean save(FAQ faq);

    /**
     * 更新FAQ
     *
     * @param faq FAQ
     * @return 是否成功
     */
    boolean update(FAQ faq);

    /**
     * 删除FAQ
     *
     * @param id FAQ ID
     * @return 是否成功
     */
    boolean deleteById(Long id);
}